home *** CD-ROM | disk | FTP | other *** search
- X-RDate: Mon, 12 Oct 1998 18:12:44 +0100 (IST)
- Received: from mailgate.ul.ie ([136.201.1.23]) by exch-staff1.ul.ie with SMTP
- (Microsoft Exchange Internet Mail Service Version 5.5.1960.3) id 4QKT1J2B;
- Mon, 12 Oct 1998 17:39:50 +0100
- Received: from centauri.lci.ulsa.mx by mailgate.ul.ie with SMTP (PP) id
- <07836-0@mailgate.ul.ie>; Mon, 12 Oct 1998 17:55:27 +0000
- Received: from localhost (filters@localhost) by centauri.lci.ulsa.mx
- (8.8.7/8.8.7) with SMTP id DAA19536; Mon, 12 Oct 1998 03:35:22 -0500
- Date: Mon, 12 Oct 1998 03:35:22 -0500 (CDT)
- Reply-To: Filters Proyect <filters@centauri.lci.ulsa.mx>
- Message-ID: <Pine.LNX.3.96.981012025845.18827H-101000@centauri.lci.ulsa.mx>
- MIME-Version: 1.0
- Content-Type: MULTIPART/MIXED; BOUNDARY="231244123-63504888-908179209=:18827"
- Content-ID: <Pine.LNX.3.96.981012030124.18827J@centauri.lci.ulsa.mx>
- XFMstatus: 0200
- From: Filters Proyect <filters@centauri.lci.ulsa.mx>
- To: Caolan McNamara <Caolan.McNamara@ul.ie>,
- Andrew Scriven <andy.scriven@research.natpower.co.uk>
- Subject: OLEdecod
-
- This message is in MIME format. The first part should be readable text,
- while the remaining parts are likely unreadable without MIME-aware tools.
- Send mail to mime@docserver.cac.washington.edu for more info.
-
- --231244123-63504888-908179209=:18827
- Content-Type: TEXT/PLAIN; CHARSET=US-ASCII
- Content-ID: <Pine.LNX.3.96.981012030124.18827K@centauri.lci.ulsa.mx>
-
- Hello.
-
- Andrew, I have studied your excellent code. Thank you for writting it! I
- never though that a replacement for LAOLA in C could be done in a very few
- lines of code. And thank you to explain me about directories in OLE files
- too. It is easy, but I didn't understood until you explain it to me. Thank
- you again.
-
- As attachment (gzipped), I send you guys my own version of the Andrew's
- code. Andrew, if you like it, you could incorporate it to your own version:
-
- Changes:
-
- * Added a lot of validations (memory allocations and file access).
- * Named OLEdecod (Andrew please, rename it again if you want).
- * Include the Caolan's read from memory functions (Andrew's functions
- didn't work for me, in Intel, I don't know why).
- * Simplified the memory pps structure. Before, pps_list was a pointer to
- an array of pointers to pps_entry. Now, pps_list is a pointer to an
- array of pps_entry. Less memory to allocate!
- * Each pps of type file (called by Microsoft streams) are now saved in
- separated temporal files, wich names are in pps_list.
- * Added freeOLEtree function, wich should be called after processing the
- tree (see main.c).
- * In pps_entry, changed type of next, previous and dir fields: now are U32
- (unsigned long int) for simplicity.
- * Added an example (main.c) wich shows how to visit only the top level
- streams (Caolan, see that file).
- * Added VERBOSE symbol. Compile the attachment using -DVERBOSE, please.
- * Added more bytes that I would want.
- * Tested on MS-DOS (compiled with Borland C++ 3.1).
-
- Missing:
-
- * Don't know how to interpret seconds and days fields.
- * The solution to MAXBLOCKS artificial limit.
- Here, one proposed solution:
- Before extract the sbd block list, read all the number blocks from
- BDepot and count it, then allocate the nedded memory and finally
- extract the list.
- This solution should be easy, and fast because we read from memory.
- The same goes for root_list.
- * Write and test big endian version of Caolan's read from memory functions.
-
- And that's all.
-
- Hope you like it. Please, send me your opinions and flames.
-
-
- -- Filters Proyect Maintainer: Arturo Tena <filters@centauri.lci.ulsa.mx>
- <http://centauri.lci.ulsa.mx/~filters/> (this server is down in weekends :( )
-
-
- --231244123-63504888-908179209=:18827
- Content-Type: APPLICATION/X-GUNZIP; NAME="all.c.gz"
- Content-Transfer-Encoding: BASE64
- Content-ID: <Pine.LNX.3.96.981012030009.18827I@centauri.lci.ulsa.mx>
- Content-Description:
-
- H4sICMS1ITYAA2FsbC5jAO08a3PbNrafpV+BqJNUlGlFspPUiZy0TmI3vnUSj2XfbCfr8VAUZHFD
- kbok5Uez2d++5wGA4EOyk6Z37s61Z5qSIHBwgPM+OFCz2XzYEZ0//yc6DxFSupjP4yTrTr8dJkJq
- IlpNIcSQ4Yl1cZjEF8FYpiKNZ1KMgnPhRWMRBlkWSiGjceBFwhulWeL5WRBHYrKI6CHtIpxX8fw6
- Cc6nmWi/ckT/6dMtaPPiEAa99d95My/xmtjveBqkYp7E54k3E/A4SaSEGSfZpZfIgbiOF8KHMYkc
- BzBVMFpkUgQZovIwTsQsHgeTa4QDbYtoLBORTaXIZDJLRTyhl1/fnYhfZSQTLxSHi1EY+OIg8GWU
- SuHB1NiSTuVYjAgOjthDHIYKB7EXA2APVzYQMoDvibiQSYpL3tBzKICuiBME0vYyxDwR8RzHOYDu
- tQi9LB/arV18vsaxCCKCPI3nsJ4pAIQVXgZhKEZSLFI5WYQugoDO4sP+8Zv3J8di593v4sPO0dHO
- u+PfB9A5m8bwVV5IBhXM5mEAkGFViRdl14A8Qni7e/TqDQzZebl/sH/8OyxB7O0fv9sdDsXe+yOx
- Iw53jo73X50c7ByJw5Ojw/fD3S7wiUS0JAJYscETohFs4lhmXhCmvOzfgagp4BaOxdS7kEBcXwYX
- gJknfGCbmwmHQLwwjs5pkdA538aBCCYiijNXXCYB8EoWV0mKw3OqumI/8ruuePxUHEvYIikOQ88H
- Wg4XCGBzs+eKl3GaYc+3O6K30e/31/ubvZ+EOBnuNFkOmxXuFtvc0NUNvyzCbiBfQM8jCSs6CCby
- WWVQ/tcR4nUcROfPxNuhj9zw5tU+jP0QJ5/0sBLowtjDaRwB/LXNx5vrT/rrG72NJ0+fwviTo4Nn
- Yppl82cPH15eXnb9NOrS6If/8hkXHj8MYGZ4i2Hf/2cBIglynsnza1pv84exnASRFCdbjUWUBucR
- EM+fekn+of8k/wK0Bo0SRFn+eXMj/0yExK/N5smWmAThWZpIbwzPbfivA5+cQRMAWp/gxf62uWF9
- gxfrW45rJtOsnbmJzC680EVt5Yi/Nxuf8Z8GME37XjtzHMHvDfw+4EcYsUhQBeFAbvuC/35B4MEE
- wIv/3j16CXJh5gIpH8WpbKcIb57A4gB+6gzMc+vvUQtevzR/kCHwc3UcfAAVO7lpBlhtW17NE3ue
- H7BBtMRz0bu639sKr2AuV1CvpTMaOLecd7hi1vvpLSYcftV0gN4OKK3rNqquazeUkUU7pHgGksuk
- QZXTxldc/4A+iO3nAobwy9qaw2Q1iBNM0fp4P1ycljYNB7iCO3zEl1NnwKRftotlNJcukF+Hb95/
- AO17VIG0ZQAhGDcdhbH/CTHXMv7ZetZ/eif6jPnGoKaP2Z9+vkF9sZ1vUJ93qDyubj6Lm8GPoG2D
- /5ud6zsrEdjIEdgABHiJ6l1TiSi8dNr7vY0rAZN1cJ/Eml5XB2jY2+j1oIWAOY6jRFmJOc14H3rt
- gcCXRFKLd3lSu02RX6D/NY0vwUNBJwgsOyrHO0oupyRTIEhpOtG+mW5OHf2rfOB/FRcQ7ejJKIHW
- umj9BUxCol+vKurZwqiLvyhM8O/ChLsw4S5MuAsT1Ni/NkyAFf8QRH64GEuxbTIVL+jTyVaz1tVv
- fobplcvdCaJBE91scPib9d4/dYeXgrHEJugEUAbISdpGdtoUEgihbRY2gHnoUyP0hiYDgF/x3+1t
- saVb1rhHf5AjSbMQkpsbzfowhJEEjCpYQq8ylsV1ljAufwTsN27Evv/kNuh/X4MTh3Is/Xj8JxJT
- BYPz/mCX4EkwOa/54W3gJzHaAPyIOwNGCKx0DCowBQ0xmwNrR9lyO7MTjRN5KYZ+AlolujMzd2bm
- P8/MLLczYD5C6aWwDubEXw8PGIsMCDC6FtilKAFiG/j4upvy2y+JTKWX+NNu5GXz+FImXT/uLj69
- aNbLUxWehcvuVZbImQyvWUYCw+A7CSihGJYagSX06OWXcQAkyGZAoW6cnL8Q2yDaGFz9ArudeYsk
- 6IZ+ANYo9bqzqxfWLOvf569uJbidvB3k3u5G5+DLSwgKzml5ISCcgAi+XAThGBpd8SGIxjMUkDfw
- D7xOgXpTfP/gXQMxL+EzknD47rF4cvjSFSe/ISAyx6L96BHs6U9PN8XW0ycbvSeu2POuSq2P+991
- xRi3BpMIUxKgTF/vvnr/+uyNiVmsJkxkGIuejYMY7PlKOw86ZOFnYj5PzyjEAbQ/U4yE+UIReTP5
- sXe10Tsd5I2oyunDwVk2m8PT6aABJuXCC4OxiCPgIpCq7BpU0fPnoPVgGhyKTgC0DSCCg86P8VsS
- o+j18RGYyoW+z8mESjMG7G8a/KEHoWziq5Z57OreOC/AiORVpmDgI8Q9WXLNShOUQQhKD3hAvzJ/
- x9DBggCNCkDNdPdK06VgAKNx2h+UWzbylrF3bXfA1w3yMwSmLcL4ktGCNcpwnLqoxfWsUQoBXW5x
- x8Ty8B0MbCq8CRoOC5l5Ii+CeJEOCHv9hgTXWzeSE9S6iYyTMclMYfg8jRazkUzU+Hkq+L2w4Ax0
- g9ofehbES9zly6CJu4S8W2Y2eiJiDHJPYpHNF9kz0QMHabjwYU3kIXSVU/wIml+hNYh+zMBiglqE
- jdAcyczTRh8A9kPMZZLEiVMYvwXjKyNSKcEFAO0PVALTE4l5iP9mwCsu2gfjwRRAPa0DNQU3wRMT
- bxGCzVRf0bLNvKwwGARA7CJ6At1F3PRJEs8US8+kF6WrYduwBDtgYtlcT6y5ZvEFToZuZoy2kvyy
- Qu+fTG8fUMtu6N3vme5eCDTlATOYJwFFig6Q/BFYJmbLzu1dUmiYYsrdxjaplo61ZjfnDvBR6QWc
- LyAIchwoAzDSTs42ZLMBA1IMPI1GKPePcAxPfhED46P7CBNiq2hbk+WwOd2DEpnrWOP3/hXu+Lcn
- gO7c8Tt3/M4dv3PH79zx/xV3nPfwGEUzgu2eANchv+aKNwIXDgw26bevs3SgR6Q3Kxg79JQdSuyz
- 6Nr5G5g1RdsHcorMSFpLi2EQgS+VEhFi8qtUfUA1Rig0ecl5pS0MRuU2JGixbUYmt9jmo/dXGnqd
- PsTWtNjspamkyKQYseRrfUEbvzSW0fHQ252/vTx4/+q3oehvbEE7ue18rkMOLBl8GAGuagaKiXwB
- 9f3wcHhM7gCl/mDXz8hRRgqSPw5eAUJTvrKB5rL3RoDZyV0kxA+eCAEjoDdyamlKBQRnOKv6IHpy
- NSPZVuXXUCzQlle+nGdEZo2GU54C3JdUtPGR3Bn1aW8fPIAO8cZAt2Eu9CWdCxZaXss56uPOUD8c
- AVqmi4Wvds/AG3x3cnCQQ8HwazE7iye4GDqILKKRjshtLQ0jGeFPpVATloHFKN9DnjDQRcr6OteL
- iI5GYw5OUt0auHRmy4nsDnBDZw7/ZdhAdmwPpj2MqTsQSr2hS4BfOX4AMC4Yf9/DsISDQQFCtpgB
- kiirE5DgT3oIh02GARHvj4alT13YlnG5kSLHh5jMDrIAgro/kA2ZDbwk8Ebo7BFUIrrZbCGI5PDO
- hMaQSz8goa2OFfryhBSBMdA8cNey1m6VPrcoF65xmNDXdoFwrWTUUhl1mKvNXe/xnK545CqOdhyN
- wMSDfv5UwiooFsfNrEGEuiFMCmesjvZsbR+wOpeZryZ2HJx69/0eOBj2zLr/IuLOvstruqH7PXOw
- 7juu2Krr4mPqonc1BrflaXWtGCmKKfwDmscKsPNVVjrw6jSR6cDDEaykRZvP363ZuZ/Z7X6viOKE
- wHMvV53eQy+9eGuhEwq89S6WtsOsJQQHZxnlwJ0Am68hDAqrvImMxUOel1zPof7u8fb6k35f9k4O
- itssVoEQa7jkRw6D8Pqjft+T/SoIm1Z43M6EGpNU1ZGr3KcNCsjh5RTVUeF4qYjWhm9vEX0sjmU2
- 0KJdZABQhzWdFUfwkKUskRrVQQxCNOdik0Bsl9WpCNbWyIlRGUbaJ9CO8hln5dBSAm7XGCWBu4iZ
- LbCg8OKT8Ma6ElGwK01ZMJWEEkbtPhdmVe0+bM6yLXvkYylKAN0eObwW/GMPRLQ1tBcAznzUzE26
- mjnT1fOCb7q7+9vZcPe4zO48VslOukRubPCrZId7pnhQyHC46YtFfC5c0aRzS0TQ8xs5hI3H0g/O
- rY7GihVJ05e4VfdMkX2KLAsDHWskc68xU73TFay7yawLmKxjrrdQccrKcMJ/EDlHKYi9/Z0wJK4D
- +wGT9AdoqYHzcg/wwYMcEfy2LvqnLMIa7skBjWLeZM60R9Qgz0KxRusuQSZ2YqIwPYug7InHJwdl
- 7IodJqBcsLqqxAFIbOi7vl4UeUV2DY58Fr21xHwgOBXSuZTDVkk6THTYPdhhmKjNRUkoCK/xFLSL
- gH85u6DbQ/Om3qyOX57ZyUFr2rTl5ExNpVn2pCXluYQXW0ZUhkt1nt6enFTDG5Qdi552kYxkl5Qe
- lfeRpmt8RuotU0yG7sEpuvhLdU/jWxVP4wat07idymkYfUPqpvGlSAmjb3SEgNVywnItkJBVVYOe
- 7S10jdVNkZc894quyR3l1cqGUVqpMSxlkLNdDv8GjVDoWFEJesdL4Gq0wooeWi1UFIOyqN+qR/EP
- pb281qKuBLYewbo/VQ2PUUEGQK0OqpC0zimq69fGiESJtgpOlgo1bzP1Wum7cDS7SohtLqgT5Xy3
- glNTq/Qf50qs9CSO4qpcK5GGRQKriXSO6S/cRIzx6wSacNYfc+/WZAVQWkBQ+JBRev7UckYoz/yI
- RhPUjhXQw1ArMtX8YIHu0IkxRAl5csUOuMzgJWxi8e48TdXBsUqIcyVtHH/C3BqtvkUct4udWkt3
- oACj5dSxX45/DRdiaRmuCXtg0KxOjXOG1o5t72pL+XlKMxAKqH2LJ7h5cA883DUHvgAtqB+NB5Jm
- rI1KpQIuZV87Z3x7Ji4uOOWcUK5/igDJ7WjguWwQLWTB6OIVknbhfhNGt+UZXIGckZIhg8dtZPni
- /omMrHVnvraGRYfwZmnTmfdJpuIiSINRyKnXKI643hzTKrDehBIQ6opBUZXmEX/Nuh3U83XtzUbd
- LoGc/uj9WEsQCoRricnVEMVLW4omG4696dVBz8Vj7cJoVRYwOWgrOwmr4GCgSjMCqinAHJax74BS
- 40sdwjG6fqmqbVjChrpQoWxrFfqP6lkK48glI7ZqR4yDZNkAv3YA1zfUD/mpHiuqWVkyoh4rXUGy
- ZNSTJfOoKpNlo+oXRJUoy4Ys2TSsVlm2orLb9273b8dif6ivVhmVyDVN9qUrreMo6cpAzMWOYpGK
- yXjTfY9iT/yEoo5cTO3yghZAvEF/SHPUXERJrcNIreXgbqWSEWG+j1Ivx0LkiqthXYvaCuleVK3a
- dQpdx+V+uCznZmhKem7uibtycy/YsZs70X7eohtsdrEXX0gsb6HhvC9N67YO89Q5ngwn8eJ8auo6
- QFOPJZ8paysbSHCS0EhrrgkykcZcRaXOv4VJPVH6nU9WZvEFq3q9jev4fd2fBuE4wQN5PpcOMS2F
- liGT4xxWqa/KZpZPeh6Y1ZIiPTWuxveRFq4CuxOW/+fCUuGY1QwmKqegHS7RRJVubr6xAFJtB/jQ
- xFyYzFclRQQGp3l/vPsMKyfIM5jFeNLlFg4rXcb4MgBnH7vY4ss+uZHhINW8DOJZ8qupSI2hEgbM
- k0o0tkTHStbwgaM6b3LxBBQfVBEmuKuUKBjCjrvi/QRiMzWMnEWIRa9huWdZfIYGL6/cRGxTGkNP
- VAmZn0Tvv2t77sgR7bbnbLfh4WcBT+KZgGen+ZXCQ9WVceKd83JRs0WxKuLEhnEsUyyLxOR5To7G
- Mv+uL/75T7FUGD9zjsH+bE5jtdNOPSypJaPfMPtgBWeG5QfqO7tEZVYf8GG9oil52/LSHAstXclj
- wvghn+tygOWqjDaNnS2Am0bScC0xUb7Ggn9LLO8Mar70dKt1Ll3YCT6ixhSk/q5H6FywNc4VP5XS
- bBpwXlaaH5LmQ13RuhyttYqQdX8TxVZhryIkFRjoUlNM3KIdpAu4DRyrszHqRP0hA9S/FFBd75cm
- 3eFVNCFnXxMlxVge4Hk5Ub+C1fQG1/UsbsgSWHUbY1RJjU6lDhVi1AEnsnw9VWonL+9mzvgkNphJ
- uur3ej3Y3QCLOMVohBwtQJ5LGD/XLMVdVVQmbAHXcRkVsNQcWDJAUoeUL+UGoypFfhJFH1inYmDI
- 5SXUqJPw+qiwyCN1iNiJfYtTLEx6tZg8quDBG1BCZGgjQirn27KmjcspVZznKu9eJV2KCywZ4kbB
- B9MF4KjC2QngdfMzbQdb/WajIifGE7LMD/VTKzWVHT+LVom4LbBCrcoBSis39TRZnvO0FrmmyOCI
- Tr7/JZVZPcYQRRMKIME8qvT8MLegyuMh06jzo2ywqwlS3a9QmVCYRWVHEUBROK3sKH2sHnsAXK5D
- XQ5YCdrXQ9a7VDhyckgRqxNwzH9G5kZCqg7HjBzYRrYYhpuziLyLOoLIB6K4rN+8/wW1o1Jx7I3Y
- 0xeOUptKuHFoRQ1pMw0fKwJets26AsRsMdfdUaOupLqUXFadcMkLV2njcPoJCYo1Jn5I+lWDcci/
- oDbtjFr6Bb6NY3ShPmH55iWWbkOwN44FHlWqPranrTKWI1vNWw6bnlytfqDiH7qFIQt207n97I1S
- xZzt9wvNZ9YN4h7fH66pWlSXD9Dgp1ivCMiBkUi9CdZ8+yEW0JP3rm4cVaLYvNiQquowHj7DEOkM
- Q+AzFRkP6K5Fc3WxYxSPJdfjmdABzFpE929MJhD9XYxGEboKHvJDMXVnZh6jZoZdgx2kXWsTSajq
- VZkY3oN0MUI00soJuDn1RpzWX+CEpdM3JvCqmN4MzeN6Pa9JEWgMyCeicia8uBKnmZWRUFtYxok6
- fCNSOPaU2MOcrdfTDfjrQT5EL6OQGhGU5dDpkBztYsrlph029K1dkT71WMJdgGURipaHEuwiaN1p
- ZV6mfsJTk91UQlVXWEwcX1dRTCrzTPnCeVEx/wABfFd34bgslU9fKDxkOXlujx8od7y0a7rZiq2o
- QSUvCntaCKdUL3N/Uif/q0ejeC2xIzZ1lUPBlxHKBTYNFHPf722AJ3P/MTBLOX+hps39GHJyyp/z
- ALuwIuUj65IEdii/B9av94+ExvqbEM7d9zIblHvSzVdGj4+P1XKYwXQiAcu/38Woy9pX+LNuSDp8
- 0jaH68OhBX/RjfmPbI+63sbJgModN9dUGatiaICK7R8pJ9ldLZk18BlmDQQSmhL05VrsNpBVKq4C
- 1VzIvT0oztcx+4iCgbY6WZZaBSv7K4y1q704Pv7zwDqlqXcuf9aHXWSTiUyrLyESWZYuoqfrchVv
- cLtjDP7tLw0QKtZtAcMOhQpsXrv2avKaAxsDrrettJJXWmke1jcfxXFO3DrvSmuwioOVK7YlXtaf
- IVzDVv3f9wLoDHz8P/PrX+ULoEOPbsMtMGbN7x7hl7q7nUcxKDLYBPt+2dCL/Kn84//YRc+7m553
- Nz3/1O97rWD1ZVcqYdSeH3dhd2CFXhqLa3HcFZsgOK/W+10QqLAr/stLxsALL71wtACQeIv61WFX
- 9B8/xQKtt/Iq8GNXvO7uddVPb930Mx3FS2985wmVBKrdDO8O+a4qeenAy0V+mSmR6SLM9JUdZUxU
- xRSqe32riQrXuF036TeleHESy5SqcLLPXqn51dwM5Bk8mFZ+IYtvGuIvzY7JdWKMOKut72whzh/7
- p654YKEGbxZWXKY1V7kUNcAx2Cmo90xdcgE/48kdx3PlXUWx9dMePEX6TJ9hYglL4mG3wrnyysEq
- Bv0HHi5M4jCML1MOgqiuhaKg4DxCuSKnpE+JBl3vQg4qAyK/3mzCR2sLyDfRRk11KrpM5Y9FUBpK
- vetf19OcDRWKrnQJSOkQsnaq/DBSF4DQcRSI3MT+iYb8txmUf8K7YjtDFngmu53Q+DdsHqu4qV8A
- AA==
-
- --231244123-63504888-908179209=:18827--
-